<html>
<head><meta charset="utf-8"><title>partial missing-tools? · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html">partial missing-tools?</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="217461013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217461013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217461013">(Nov 20 2020 at 21:26)</a>:</h4>
<p>Is there a way to express to the build system that some tools are optional, and some aren't? e.g. I need rustc and cargo, but rustfmt can fail. I can imagine several ways to do this, just wondering if there's a Least Bad way to do it.</p>



<a name="217462942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217462942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217462942">(Nov 20 2020 at 21:46)</a>:</h4>
<p>Hm, I think it's definitely possible</p>



<a name="217463000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217463000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217463000">(Nov 20 2020 at 21:47)</a>:</h4>
<p>maybe editing tools = in config.toml will work?</p>



<a name="217470954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217470954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217470954">(Nov 20 2020 at 23:18)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> with tools you can request it be built, and with missing-tools you can say "don't error if something doesn't build" but you can't say "these are required" and "these would be nice to have, but don't block on them"</p>



<a name="217470983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217470983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217470983">(Nov 20 2020 at 23:19)</a>:</h4>
<p>hm, ok</p>



<a name="217471001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471001">(Nov 20 2020 at 23:19)</a>:</h4>
<p>so it sounds like you sort of want missing-tools = [ ... ] rather than a bool?</p>



<a name="217471016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471016">(Nov 20 2020 at 23:19)</a>:</h4>
<p>that would be ideal, yeah</p>



<a name="217471029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471029">(Nov 20 2020 at 23:19)</a>:</h4>
<p>ok. it should be fairly easy to wire that up I imagine and  I would accept a PR doing so</p>



<a name="217471089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471089">(Nov 20 2020 at 23:20)</a>:</h4>
<p>(Rust itself actually wants this for e.g. miri on beta/stable toolchains)</p>



<a name="217471110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471110">(Nov 20 2020 at 23:20)</a>:</h4>
<p>I'll consider it, but sadly it wouldn't really help me -- i'm setting up a "build rust from source with optional patches" mode for firefox's CI, so necessarily we're looking at much older versions of Rust</p>



<a name="217471128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471128">(Nov 20 2020 at 23:21)</a>:</h4>
<p>Worth filing a bug for it, though</p>



<a name="217471551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471551">(Nov 20 2020 at 23:28)</a>:</h4>
<p>filed <a href="https://github.com/rust-lang/rust/issues/79249">https://github.com/rust-lang/rust/issues/79249</a></p>



<a name="217471612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471612">(Nov 20 2020 at 23:28)</a>:</h4>
<p>yeah, though you could probably backport it</p>



<a name="217471632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217471632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217471632">(Nov 20 2020 at 23:28)</a>:</h4>
<p>for older versions I suspect you probably want to manually insert <code>|| true</code> or run dist twice or something</p>



<a name="217472175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217472175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217472175">(Nov 20 2020 at 23:36)</a>:</h4>
<p>yeah, I thought about running multiple builds, but I just wasn't confident on how well the build system merges partial results</p>



<a name="217472202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217472202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217472202">(Nov 20 2020 at 23:37)</a>:</h4>
<p>If I could invoke each tool build individually, that would make sense, but as it is you have to do two builds, and then idk what <code>install</code> will do</p>



<a name="217472327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/partial%20missing-tools%3F/near/217472327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gankra <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/partial.20missing-tools.3F.html#217472327">(Nov 20 2020 at 23:38)</a>:</h4>
<p>(src/bootstrap is <em>really</em> hard to read, it's so split up...)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>